package com.fram.service.admin;

import com.fram.bean.admin.ordermain.request.OrderDeliveredRequest;
import com.fram.bean.admin.ordermain.request.OrderRequest;
import com.fram.bean.admin.ordermain.response.OrderResponse;
import com.fram.bean.admin.ordermain.response.OrderSearchResponse;
import com.fram.bean.admin.ordermain.response.PageAdminReportForm;
import com.fram.bean.sys.PageBean;
import com.fram.common.exception.ProAffairException;
import com.fram.common.exception.ProException;
import com.fram.entity.OrderRefund;
import com.github.pagehelper.PageInfo;

/** 订单管理 **/
public interface OrderService {
	// 根据id查询
	public OrderResponse adminOrderDetail(Long id) throws ProException;

	/**
	 * @作者：陳曉鬆 @时间：2020年5月16日 上午11:58:10 @版本：V1.0 @description：-> 订单改为已发货
	 */
	public void orderDelivered(OrderDeliveredRequest request) throws ProException;

	// -后台展示订单详情 全部展示
	public PageInfo<OrderSearchResponse> selectOrder(PageBean<OrderRequest> request) throws ProException;

	/**
	 * @作者：陳曉鬆 @时间：2020年5月26日 上午11:50:22 @版本：V1.0 @description：-> 审核失败修改退款单
	 */
	public void updateApplyFailRefund(OrderRefund refund) throws ProAffairException;

	/** 申请退货成功 **/
	public String updateApplySuccessRefund(OrderRefund refund, Long distributorId) throws ProAffairException;

	/** 收到退货快递过后执行退款 **/
	public void refundUserPrice(OrderRefund refund, Long distributorId) throws ProAffairException;

	/**
	 * @作者：陳曉鬆 @时间：2020年7月30日 上午10:43:41 @版本：V1.0 @description：-> 后台首页展示报表数据
	 */
	public PageAdminReportForm reportForm(Long distributorId) throws ProAffairException;

}
